iT邦幫忙

2024 iThome 鐵人賽

DAY 17
0
Python

Python 數值與數學模組介紹與應用系列 第 17

Day17.04.decimal — 十進制定點和浮點算術1

  • 分享至 

  • xImage
  •  

簡介

  • 模組功能

    • decimal 模組支持快速且準確的十進制浮點運算。
    • float 類型相比,它可以更精確地表示數字,避免顯示不準確的結果。
  • 精確性

    • Decimal 數字可以完全精確地表示。例如,1.30 + 1.20 等於 2.50。
    • 相比之下,像 1.1 + 2.2 這樣的數字在二進制浮點數中可能會顯示為3.3000000000000003。
  • 數字表示

    • Decimal 會保留末尾的零來顯示有效位,例如 1.30 * 1.20 會顯示為 1.5600,而 1.3 * 1.2 會顯示為 1.56。
    • 這種方式適合需要高精度的應用,如金融計算。
  • 精度設定

    • 用戶可以設置 decimal 的精度(默認為 28 位),讓計算結果符合需求。
      from decimal import *
      getcontext().prec = 6
      Decimal(1) / Decimal(7)  # 結果是 Decimal('0.142857')
      getcontext().prec = 28
      Decimal(1) / Decimal(7)  
      # 結果是 Decimal('0.1428571428571428571428571429')
      
  • 標準和控制

    • decimal 模組遵循標準,並允許用戶完全控制計算過程中的捨入和錯誤處理。
  • 主要概念

    • Decimal 數值:不可變的數字,由符號、係數值和指數值組成。
    • 算術上下文:設置計算的精度、捨入方式等。
    • 信號:在計算中出現的異常條件,可以被忽略或視為錯誤。信號包括除零錯誤、數值過大等。
  • 信號處理

    • 每個信號都有一個標誌,當信號發生時,標誌會被設置,並且可以根據設置的陷阱來處理異常。

上一篇
Day16.03.cmath — 複數數學函數5
下一篇
Day18.04.decimal — 十進制定點和浮點算術2
系列文
Python 數值與數學模組介紹與應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言